Like human language, musical information is comprised of both aural and written components. The written language of music or musical notation has existed for more than eight centuries, but until the advent of the printing press musicians and composers were required to perform the time consuming task of manual notation in order to memorialize their compositions. Even with the printing press, music notation processing has always been a post composition process usually performed by someone other than the composer or musician. With the introduction of computers, special programming languages have been developed to handle the entry and printing of musical notation. These languages generally use a textually-based user interface that requires the user to enter lengthy sets of computer codes in order to generate a single page of musical notation.
In recent years, music transcription systems have been developed for personal computers in an effort to aid the musician and composer in using musical notation. Some of these transcriptions systems have even attempted to take acoustic musical information recorded as electronic messages and turn this information into standard musical notation or sheet music. Unfortunately, the transcription process of these systems is generally a one-way path and there are no provisions for capturing interpretive musical information, or for recreating the musical information as sound based on the stored music data that are transcribed from the original musical information.
While the music processing devices presently available allow a user to print musical information more efficiently than traditional hand engraving of printing plates, they are far from an ideal music processing apparatus. An ideal music processing apparatus should be able to receive the musical information from its native environment (musical sound), represent the musical information in such a way that it may be automatically converted into its written language equivalent (musical notation), present the musical notation to the user so that it may be manipulated or edited, and then output the musical information, either as musical notation or as musical sound, exactly as it has been composed.
Present music processing apparatus cannot simulate an ideal music processing apparatus in large part because of the limitations imposed by the present methods and systems for internally representing musical information in these systems. The internal representation of musical information for a music processing apparatus is a problem that has challenged musicologists for more than twenty-five years with no single or satisfactory solution. Most music processing apparatus use a code-type representation that stores only the specific musical information needed to achieve the limited objectives of the system, i.e., information about pitch alone, about rhythm alone, or about pitch and rhythm without reference to dynamics or articulation. A few music processing apparatus have attempted to develop language-type representations that would enable the user to encode any element of musical information that is present in common musical notation. For example, the DARMS and MUSTRAN encoding languages were developed for mainframe computers. While flexible and more complete than the code-type representations, current music encoding languages are limited to textual-based entry of musical information and are not structured enough to provide a workable method and apparatus for representing musical information that could be used to create a device approaching the ideal music processing apparatus.
The Directory of Computer Assisted Research in Musicology, Center for Computer Assisted Research in the Humanities, 1987, pp. 1-22, identifies five broad classifications that encompass the current methods and systems for representing musical information: music/machine-readable code; music/logic; music/parametric; music/graphic; and music/acoustic. These classifications provide a background for thinking about the various stages of music data representation as the music data move from the input process to the various output processes of display, printing, analysis and sound in a music processing apparatus.
The first classification, music/machine-readable code, covers music processing apparatus that use a code-type representation, usually in the form of an unstructured character string, wherein each character represents, for example, the pitch or duration of the next note to be played in the sequence. The music/logical classification covers those representations that attempt to organize the musical information into logical records and, in this form, more closely represent the logical meaning or structure of the musical information itself. This is the general type of representation that is necessary for developing an ideal music processing apparatus. The next classification, music/parametric, includes all the information of the music/logical representation but presents this data as a list of objects (notes, rests, beams, etc.) whose attributes are determined by specific parameters. Most current music printing programs process their music data in this form. The last two classifications relate primarily to the output of musical information. The music/graphic classification covers representation forms that are closely related to the actual printing or display of the graphic musical information. Examples might include font-lists with X-Y coordinates or strings of redefined ASCII characters that translate directly into music graphics. The music/acoustic classification covers representation forms that are closely related to the actual generation of musical sound. The best known example is the MIDI (Musical Instrument Digital Information) standard that is currently used by manufacturers of synthesizers and other electronic musical instruments. For a more detailed explanation of the MIDI format, reference is made to Boom, Music Through MIDI, 1987, Chapter 5, pp. 69-94, which is fully incorporated by reference herein.
More importantly for purposes of the present invention, there presently are no mechanisms available in any music transcription system that allow for the automatic and dynamic representation of musical chords as guitar fingerboards. Guitar fingerboards are the graphical symbols that correspond to the fingering of the frets on a guitar necessary to create the musical chord indicated by the chord notation associated with the guitar fingerboard. The fingerboard symbols are usually located above the staff line in vertical alignment with the associated chord notation as represented on the staff line. Traditionally, the graphical symbols for guitar fingerboards are placed on a sheet of music by hand or by cutting and pasting an image of the desired fingerboard above the associated chord notation. There are no mechanisms or transcription systems that will generate the image or symbol for the appropriate guitar fingerboard based on an analysis of the associated chord notation.
Although the various music processing apparatus currently available have enabled music publishers to produce higher quality printed music or enabled hobbyists to enter and print simplistic musical notation, none of these systems has a method or device for representing musical information in the form of musical chords that enables a musician or composer to automatically and dynamically generate guitar fingerboard symbols based on an analysis of the associated chord notation. Accordingly, there is a continuing need for the development of new tools to assist the musician and composer in the transcription of musical information by providing a method and apparatus for representing musical information, that will allow a musician or composer to dynamically generate guitar fingerboards symbols based on an automated analysis of the associated chord notation.